package com.zhilei.service;

import com.zhilei.pojo.Industry;
import com.zhilei.pojo.bo.IndustryBO;
import com.zhilei.pojo.vo.TopIndustryWithThirdListVO;

import java.util.List;

/**
 * <p>
 * 行业表 服务类
 * </p>
 *
 * @author 志磊
 * @since 2024-09-22
 */
public interface IndustryService {

    /**
     * 根据行业名称查询节点名称是否存在
     *
     * @param name
     * @return
     */
    boolean getIndustryIsExistByName(String name);

    /**
     * 创建节点名称
     *
     * @param industryBO
     */
    void createNode(IndustryBO industryBO);

    /**
     * 查询所有的一级分类
     *
     * @param industryByFatherId
     * @return
     */
    List<Industry> getIndustryIsExistByFatherId(String industryByFatherId);

    /**
     * 更新节点信息
     *
     * @param industryBO
     */
    void updateIndustry(IndustryBO industryBO);

    /**
     * 删除节点
     *
     * @param industryByFatherId
     */
    void deleteIndustry(String industryByFatherId);

    /**
     * 根据当前id查询节点
     *
     * @param industryByFatherId
     * @return
     */
    Industry getIndustryById(String industryByFatherId);

    /**
     * 查询当前节点下是否还有其他的数据
     *
     * @param industryByFatherId
     * @return
     */
    List<Industry> getIndustryBySecondId(String industryByFatherId);

    /**
     * 查询顶级节点列表
     *
     * @return
     */
    List<Industry> getTopIndustryList();

    /**
     * 根据顶级id查询第三级的id
     *
     * @param thirdListByTopId
     * @return
     */
    List<Industry> getThirdListByTopId(String thirdListByTopId);

    /**
     * 根据三级节点的id查询一级节点的数据
     *
     * @param thirdListByTopId
     * @return
     */
    String getTopIndustryId(String thirdListByTopId);

    /**
     * 查询三级分类列表
     *
     * @return
     */
    List<TopIndustryWithThirdListVO> getAllThirdIndustry();
}
